Automatic Parallelization of Restricted C Programs using Pointer Analysis

نویسندگان

  • Masayoshi MASE
  • Daisuke BABA
  • Harumi NAGAYAMA
  • Yuta MURATA
  • Keiji KIMURA
  • Hironori KASAHARA
چکیده

This paper describes a restriction on pointer usage in C language for parallelism extraction by an automatic parallelizing compiler. By rewriting programs to satisfy the restriction, automatic parallelization using flow-sensitive, context-sensitive pointer analysis on an 8 cores SMP server achieved 3.80 times speedup for SPEC2000 art, 6.17 times speedup for SPEC2006 lbm and 5.14 times speedup for MediaBench mpeg2enc against the sequential execution, respectively.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Semantic Analysis for Parallelizing C

Automatic parallelization of C language programs is a diicult task due, for example, to side eeects within expressions and access to memory via pointers. We describe a method based on semantic analysis of the language, in order to detect parallelism in complex programs using pointer arithmetic. We deene semantic domains which respect the type system of the language, and use them to synthesize e...

متن کامل

Generalized Iteration Space 21 Dependence Analysis

A large body of literature has developed concerning the automatic parallelization of numerical programs, and a quite separate literature has developed concerning the parallelization of symbolic programs. Because many symbolic programs make heavy use of array data and iterative constructs, in addition to more \symbolic" language features like pointers and recursion, it is desirable to fuse these...

متن کامل

Data Flow Analysis of Recursive

Most imperative languages only ooer arrays as \\rst-class" data structures. Other data structures, especially recursive data structures such as trees, have to be manipulated using explicit control of memory, i.e., through pointers to explicitly allocated portions of memory. We believe that this severe limitation is mainly due to historical reasons, and this paper will try and demonstrate that m...

متن کامل

Dynamic Parallelization of Modi cations to Directed Acyclic Graphs

We describe an interprocedural technique, called dynamic resolution, for the automatic parallelization of procedures that destructively manipulate dynamic DAGs. Dynamic resolution dynamically detects shared data and correctly coordinates access to this data at run time. In pointer-unsafe languages (e.g., C), dynamic resolution requires programmer identi cation of acyclic data structures and the...

متن کامل

Semantic Analysis of Straight Line C Code with Pointers

Automatic parallelization of C language programs is a subject rarely addressed: this can be explained by the diiculties inherent to the language, such as side eeects within expressions or access to memory via pointers. The method we describe here is based on a semantic analysis of programs. The goal is to detect parallelism in complex programs using pointer arithmetic, thanks to the type system...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2008